import os
import sys
from PySide6.QtWidgets import QApplication,QMainWindow,QWidget,QFileDialog
from mainwindowQrc_ui import Ui_MainWindow
from PySide6.QtCore import QCoreApplication

class MainForm(QMainWindow,Ui_MainWindow):
    def __init__(self):
        super(MainForm,self).__init__()
        self.setupUi(self)

        # 添加打开按钮的函数链接,连接至open_file函数
        self.actionopen.triggered.connect(self.open_file)
        # 添加关闭按钮的函数链接,关闭窗口
        self.actionclose.triggered.connect(self.close)
        # 计算器按钮的函数连接,调用系统计算器
        self.actionCalc.triggered.connect(lambda : os.system('calc'))
        # 打开记事本
        self.actionNotepad.triggered.connect(lambda : os.system('notepad'))

    def open_file(self):
        # 显示一个标准的文件打开对话框。
        # 第一个参数可以将弹出的对话框置顶
        # 第二个参数是对话框的标题
        # 第三个参数是对话框的骑士目录
        # 第四个参数用于限制选择的文件类型
        # 如果用户选择了一个文件并点击了“打开”，则file变量将包含该文件的路径，ok变量将为True。如果用户取消了对话框，则file变量将为一个空字符串，ok变量将为False。
        file,ok= QFileDialog.getOpenFileName(self,'Open File',None,'All Files (*);;Text Files (*.txt)')
        # 在状态栏显示文件地址
        self.statusbar.showMessage(file)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = MainForm()
    win.show()
    sys.exit(app.exec())